package com.foxire.finalDemo;

public class FianlDemo1 {
    // final修饰静态成员变量
    // final修饰静态变量，这个变量今后被称为常量，可以记住一个固定值，并且程序中不能修改了，通常这个值作为系统的配置信息。
    public static final String SCHOOL_NAME = "黑马程序员";

    // final修饰实例变量（一般没有意义）
    public final String name = "foxire";

    public static void main(String[] args) {
        // 目标：理解final修饰符，认识final关键字的作用

        // 3. final修饰变量，变量不能被修改,变量有且只能赋值一次
//    变量有哪些呢?
//    a、成员变量:
//           静态成员变量
//           实例成员变量
//    b、局部变量
        final int age = 10;
       // age = 20; // 第二次赋值，不合法

        buy(0.8);

        final int a = 10;
        // a = 30; // 不能修改

        final int[] arr = new int[]{1,2,3};
        // arr = new int[]{1,2,3};
        arr[0] = 100;
    }

    public static void buy(final double z) {
        // z = 0.9;
        System.out.println(z);
    }


    // 1. final修饰类，类不能被继承
    final class A { }
    // class B extends A { }

    // 2. final修饰方法，方法不能被重写
    class C {
        final void show() {
            System.out.println("show()");
        }
    }
    class D extends C {
        // void show() { }
    }

}
